The present invention relates to a system for testing interactive software and, more particularly, to a system for automatically testing and comparing versions of interactive software.
In the development of software products, people responsible for producing error free software or code have heretofore had difficulty in testing different versions or levels of the code as they mature and reach the intended level of sophistication and functionality. Such tests are required to identify areas that should be evaluated by the software developer and corrected, if necessary. It is possible, of course, that a difference found between versions of an interactive program do not imply an error of one of the versions. Nevertheless such a difference should be evaluated by the developer in accordance with accepted software development practice.
In the field of interactive software particularly, testing and quality assurance routines have required a tester to work through programs repeatedly and to make a record, usually in written form, of any errors found during the exercise of each iteration of the code.
The record keeping aspects of this sort of work alone are cumbersome and are prone to error. Such errors in reporting the accuracy and usability of a program are obviously as unacceptable as deficient programs themselves.
Accordingly, a system for testing interactive software is prone to error to the extent that humans are relied on to perform such testing. What is needed is a system for testing that minimizes human contribution.
It would be advantageous to provide a system to test different versions of interactive software automatically and to record discovered errors or differences between performances of previous iterations.
It would also be advantageous to communicate discovered differences to the appropriate developer for evaluation, repair or change of design.
It would also be advantageous to be able to execute a program at a later time in exactly the same manner as it was executed during initial evaluation in order to determine whether previously discovered errors have been corrected.
It would also be advantageous to provide a system in which test cases can be recorded and stored indefinitely so that at a later time retrieval thereof will allow a comparison of previous versions and will promote evolution of the software system.
It would also be advantageous to receive completely documented error reports from users of the interactive software system at remote locations.
It would further be advantageous to provide an interactive software testing system that can be invoked from a personal computer.